﻿
using Admin.NET.Application.Entity;

namespace Admin.NET.Application;

/// <summary>
/// 网关信息输出参数
/// </summary>
public class DeviceGateWayOutput
{
    /// <summary>
    /// 主键Id
    /// </summary>
    public long Id { get; set; }
    
    /// <summary>
    /// 设备编号
    /// </summary>
    public string DeviceNo { get; set; }
    
    /// <summary>
    /// 机构Id
    /// </summary>
    public long OrgId { get; set; } 
    
    /// <summary>
    /// 机构Id 描述 
    /// </summary>
    public string? OrgIdName { get; set; } 
    
    /// <summary>
    /// 网关名称
    /// </summary>
    public string GateWayName { get; set; }
    
    /// <summary>
    /// 设备地址
    /// </summary>
    public string DeviceAddress { get; set; }
    
    /// <summary>
    /// 设备位置
    /// </summary>
    public string DevicePosition { get; set; }
    
    /// <summary>
    /// 设备位置类型
    /// </summary>
    public DevicePositionType DevicePositionType { get; set; }
    
    /// <summary>
    /// 序列号
    /// </summary>
    public string Sn { get; set; }
    
    /// <summary>
    /// 启用状态
    /// </summary>
    public DeviceEnableStatus DeviceEnableStatus { get; set; }
    
    /// <summary>
    /// 设备排序
    /// </summary>
    public int DeviceWeight { get; set; }
    
    /// <summary>
    /// 功能监控
    /// </summary>
    public bool DeviceFuncMonitor { get; set; }
    
    /// <summary>
    /// 云网穿透
    /// </summary>
    public bool DeviceFuncCloud { get; set; }
    
    /// <summary>
    /// 激活状态
    /// </summary>
    public Active Active { get; set; }
    
    /// <summary>
    /// 创建时间
    /// </summary>
    public DateTime? CreateTime { get; set; }
    
    /// <summary>
    /// 更新时间
    /// </summary>
    public DateTime? UpdateTime { get; set; }
    
    /// <summary>
    /// 创建者Id
    /// </summary>
    public long? CreateUserId { get; set; }
    
    /// <summary>
    /// 创建者姓名
    /// </summary>
    public string? CreateUserName { get; set; }
    
    /// <summary>
    /// 修改者Id
    /// </summary>
    public long? UpdateUserId { get; set; }
    
    /// <summary>
    /// 修改者姓名
    /// </summary>
    public string? UpdateUserName { get; set; }
    
    /// <summary>
    /// 软删除
    /// </summary>
    public bool IsDelete { get; set; }
    
    }
 

    // 使用实际实体SysOrg,所以这里就删了
    /*
    [SugarTable("SysOrg")]
    public class SysOrgTreeOutput: EntityBaseId
    {
        [SugarColumn(ColumnName = "Name")]
        public string Label { get; set; }
        [SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = false)]
        public long  Value { get; set; }
        public long Pid { get; set; }
        [SugarColumn(IsIgnore = true)]
        public List<SysOrgTreeOutput> Children { get; set; }
    }
    */
